package com.lb.jwitter.action;


import net.sf.json.JSONArray; 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; 
import org.springframework.test.context.ContextConfiguration;

import net.sf.json.JSONObject; 
import java.util.Map; 

import com.lb.jwitter.*;
import com.lb.jwitter.hibernate.Tbl_CanBoDAO;
import com.lb.jwitter.hibernate.Tbl_QLDTTXA_BienNhanHoSoDAO;
import com.lb.jwitter.hibernate.Tbl_QLDTTXA_BienNhanHoSo_GiayToDAO;
import com.lb.jwitter.hibernate.Tbl_QLDTTXA_DM_GiayToDAO;
import com.lb.jwitter.hibernate.Tbl_QLDTTXA_HoSoXetTuyenDAO;
import com.lb.jwitter.util.ConditionReport;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext; 
import net.sf.json.JSONSerializer; 
import java.text.DateFormat; 
import java.text.SimpleDateFormat; 
import java.util.ArrayList; 
import java.util.Collection; 
import java.util.Collections; 
import java.util.Date; 
import java.util.List; 
import java.util.GregorianCalendar; 
import javax.xml.datatype.DatatypeFactory; 
import javax.xml.datatype.XMLGregorianCalendar; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 


 /** 
 * @author QUOCVIET  
 * 
 */ 


@ContextConfiguration(locations="classpath:beans.xml") 
public class BienNhanReportAction{

    private Tbl_QLDTTXA_BienNhanHoSo tblQLDTTXABienNhanHoSo; 
    public void setTbl_QLDTTXA_BienNhanHoSo (Tbl_QLDTTXA_BienNhanHoSo tblQLDTTXABienNhanHoSo) {
        this.tblQLDTTXABienNhanHoSo = tblQLDTTXABienNhanHoSo;
 }

    private Collection<Tbl_QLDTTXA_BienNhanHoSo> tblQLDTTXABienNhanHoSos; 


    private String tungayNhan; 
    public void setTungayNhan(String tungayNhan) {
       this.tungayNhan = tungayNhan;
   }

    public String getTungayNhan() {
       return tungayNhan;
   }

    private String denngayNhan; 
    public void setDenngayNhan(String denngayNhan) {
       this.denngayNhan = denngayNhan;
   }

    public String getDenngayNhan() {
       return denngayNhan;
   }

    private String soBienLai; 
    public void setSoBienLai(String soBienLai) {
       this.soBienLai = soBienLai;
   }

    public String getSoBienLai() {
       return soBienLai;
   }

    private int canBoId; 
    public void setCanBoId(int canBoId) {
       this.canBoId = canBoId;
  }

    public int getCanBoId() {
       return canBoId;
  }

    private Collection<Tbl_CanBo> tblCanBos; 
    public Collection<Tbl_CanBo>  getTblCanBos() {
        return this.tblCanBos ; 
      } 

    private int hoSoId; 
    public void setHoSoId(int hoSoId) {
       this.hoSoId = hoSoId;
  }

    public int getHoSoId() {
       return hoSoId;
  }

    private List<Tbl_QLDTTXA_HoSoXetTuyen> tblQLDTTXAHoSoXetTuyens; 
    public List<Tbl_QLDTTXA_HoSoXetTuyen>  getTblQLDTTXAHoSoXetTuyens() {
        return this.tblQLDTTXAHoSoXetTuyens ; 
      } 
 
    private List<Tbl_QLDTTXA_BienNhanHoSo_GiayTo> tblQLDTTXABienNhanHoSoGiayTos; 
    public List<Tbl_QLDTTXA_BienNhanHoSo_GiayTo>  getTbl_QLDTTXA_BienNhanHoSoGiayTos() {
        return this.tblQLDTTXABienNhanHoSoGiayTos ; 
      } 

    private List<Tbl_QLDTTXA_DM_GiayTo> tblQLDTTXADMGiayTos; 
    public List<Tbl_QLDTTXA_DM_GiayTo>  getTblQLDTTXADMGiayTos() {
        return this.tblQLDTTXADMGiayTos ; 
      } 

    @Autowired
	   @Qualifier("tbl_QLDTTXA_BienNhanHoSo_GiayToDAO")
	   private Tbl_QLDTTXA_BienNhanHoSo_GiayToDAO tbl_QLDTTXA_BienNhanHoSo_GiayToDao;
    @Autowired
	   @Qualifier("tbl_QLDTTXA_BienNhanHoSoDAO")
	   private Tbl_QLDTTXA_BienNhanHoSoDAO tbl_QLDTTXA_BienNhanHoSoDao;
	   
	   @Autowired
	   @Qualifier("tbl_QLDTTXA_DM_GiayToDAO")
	   private Tbl_QLDTTXA_DM_GiayToDAO tbl_QLDTTXA_DM_GiayToDAO;
	   
	   @Autowired
	   @Qualifier("tbl_CanBoDAO")
	   private Tbl_CanBoDAO tbl_CanBoDAO;
	   
	   @Autowired
	   @Qualifier("tbl_QLDTTXA_HoSoXetTuyenDAO")
	   private Tbl_QLDTTXA_HoSoXetTuyenDAO tbl_QLDTTXA_HoSoXetTuyenDAO;
	   
 public String execute() throws Exception 
{ 
 try{ 	
 
 
           tblCanBos = tbl_CanBoDAO.findAll(0,0); 
 
           tblQLDTTXAHoSoXetTuyens = tbl_QLDTTXA_HoSoXetTuyenDAO.findAll(0, 0);
 
        List<ConditionReport> cons = new ArrayList<ConditionReport>(); 
    if( tungayNhan != null && !tungayNhan.equalsIgnoreCase("") ){ 
        ConditionReport con = new ConditionReport(); 
        con.setType("date"); 
         con.setCol("ngayNhan");
        con.setValue1(tungayNhan);
        if (denngayNhan != null && !denngayNhan.equalsIgnoreCase("") ){ 
            con.setValue2(denngayNhan); 
            con.setOperator("between"); 
        } 
        else{ 
            con.setOperator("ge"); 
        } 
        cons.add(con);	
    } 
        else if (denngayNhan != null && !denngayNhan.equalsIgnoreCase("") ){ 
        ConditionReport con = new ConditionReport(); 
        con.setType("date"); 
         con.setCol("ngayNhan");
        con.setValue1(denngayNhan);
        con.setOperator("le");
        cons.add(con);	
    } 
    if(soBienLai != null && !soBienLai.equalsIgnoreCase("")){ 
        ConditionReport con = new ConditionReport(); 
        con.setCol("soBienLai");
        con.setValue1("%" + soBienLai + "%");
        con.setOperator("like");
        cons.add(con);	
    } 
    if(canBoId != 0 ){ 
        ConditionReport con = new ConditionReport(); 
        con.setCol("canBoId.id");
        con.setValue1(new Long(canBoId));
        con.setOperator("eq");
        cons.add(con);	
    } 
    if(hoSoId != 0 ){ 
        ConditionReport con = new ConditionReport(); 
        con.setCol("hoSoId.id");
        con.setValue1(new Long(hoSoId));
        con.setOperator("eq");
        cons.add(con);	
    } 
  tblQLDTTXABienNhanHoSos = tbl_QLDTTXA_BienNhanHoSoDao.findByCondition(Tbl_QLDTTXA_BienNhanHoSo.class, cons,0,0); 
  
  tblQLDTTXADMGiayTos = tbl_QLDTTXA_DM_GiayToDAO.findAll( 0,0); 
    cons.clear(); 
    if( tungayNhan != null && !tungayNhan.equalsIgnoreCase("") ){ 
        ConditionReport con = new ConditionReport(); 
        con.setType("date"); 
         con.setCol("bienNhanId.ngayNhan");
        con.setValue1(tungayNhan);
        if (denngayNhan != null && !denngayNhan.equalsIgnoreCase("") ){ 
            con.setValue2(denngayNhan); 
            con.setOperator("between"); 
        } 
        else{ 
            con.setOperator("ge"); 
        } 
        cons.add(con);	
    } 
    else if (denngayNhan != null && !denngayNhan.equalsIgnoreCase("") ){ 
        ConditionReport con = new ConditionReport(); 
        con.setType("date"); 
         con.setCol("bienNhanId.ngayNhan");
        con.setValue1(denngayNhan);
        con.setOperator("le");
        cons.add(con);	
    }
    if(soBienLai != null && !soBienLai.equalsIgnoreCase("")){ 
        ConditionReport con = new ConditionReport(); 
        con.setCol("bienNhanId.soBienLai");
        con.setValue1("%" + soBienLai + "%");
        con.setOperator("like");
        cons.add(con);	
    } 
    if(canBoId != 0 ){ 
        ConditionReport con = new ConditionReport(); 
        con.setCol("bienNhanId.canBoId.id");
        con.setValue1(new Long(canBoId));
        con.setOperator("eq");
        cons.add(con);	
    } 
    if(hoSoId != 0 ){ 
        ConditionReport con = new ConditionReport(); 
        con.setCol("bienNhanId.hoSoId.id");
        con.setValue1(new Long(hoSoId));
        con.setOperator("eq");
        cons.add(con);	
    } 
tblQLDTTXABienNhanHoSoGiayTos = tbl_QLDTTXA_BienNhanHoSo_GiayToDao.findByCondition(Tbl_QLDTTXA_BienNhanHoSo_GiayTo.class, cons,0,0);

System.out.println("biennhan : " +  tblQLDTTXABienNhanHoSos.size());
System.out.println("biennhan ho so giay to : " +  tblQLDTTXABienNhanHoSoGiayTos.size());
        return Action.SUCCESS; 
      } 
      catch(Exception e){ 
         System.out.println("Loi Report tbl_QLDTTXA_BienNhanHoSo Action"); 
         e.printStackTrace(); 
         return Action.ERROR; 
 } 
 }

public Tbl_QLDTTXA_BienNhanHoSo getTblQLDTTXABienNhanHoSo() {
	return tblQLDTTXABienNhanHoSo;
}

public void setTblQLDTTXABienNhanHoSo(
		Tbl_QLDTTXA_BienNhanHoSo tblQLDTTXABienNhanHoSo) {
	this.tblQLDTTXABienNhanHoSo = tblQLDTTXABienNhanHoSo;
}

public Collection<Tbl_QLDTTXA_BienNhanHoSo> getTblQLDTTXABienNhanHoSos() {
	return tblQLDTTXABienNhanHoSos;
}

public void setTblQLDTTXABienNhanHoSos(
		Collection<Tbl_QLDTTXA_BienNhanHoSo> tblQLDTTXABienNhanHoSos) {
	this.tblQLDTTXABienNhanHoSos = tblQLDTTXABienNhanHoSos;
}

public List<Tbl_QLDTTXA_BienNhanHoSo_GiayTo> getTblQLDTTXABienNhanHoSoGiayTos() {
	return tblQLDTTXABienNhanHoSoGiayTos;
}

public void setTblQLDTTXABienNhanHoSoGiayTos(
		List<Tbl_QLDTTXA_BienNhanHoSo_GiayTo> tblQLDTTXABienNhanHoSoGiayTos) {
	this.tblQLDTTXABienNhanHoSoGiayTos = tblQLDTTXABienNhanHoSoGiayTos;
}

public Tbl_QLDTTXA_BienNhanHoSo_GiayToDAO getTbl_QLDTTXA_BienNhanHoSo_GiayToDao() {
	return tbl_QLDTTXA_BienNhanHoSo_GiayToDao;
}

public void setTbl_QLDTTXA_BienNhanHoSo_GiayToDao(
		Tbl_QLDTTXA_BienNhanHoSo_GiayToDAO tbl_QLDTTXA_BienNhanHoSo_GiayToDao) {
	this.tbl_QLDTTXA_BienNhanHoSo_GiayToDao = tbl_QLDTTXA_BienNhanHoSo_GiayToDao;
}

public Tbl_QLDTTXA_BienNhanHoSoDAO getTbl_QLDTTXA_BienNhanHoSoDao() {
	return tbl_QLDTTXA_BienNhanHoSoDao;
}

public void setTbl_QLDTTXA_BienNhanHoSoDao(
		Tbl_QLDTTXA_BienNhanHoSoDAO tbl_QLDTTXA_BienNhanHoSoDao) {
	this.tbl_QLDTTXA_BienNhanHoSoDao = tbl_QLDTTXA_BienNhanHoSoDao;
}

public Tbl_QLDTTXA_DM_GiayToDAO getTbl_QLDTTXA_DM_GiayToDAO() {
	return tbl_QLDTTXA_DM_GiayToDAO;
}

public void setTbl_QLDTTXA_DM_GiayToDAO(
		Tbl_QLDTTXA_DM_GiayToDAO tbl_QLDTTXA_DM_GiayToDAO) {
	this.tbl_QLDTTXA_DM_GiayToDAO = tbl_QLDTTXA_DM_GiayToDAO;
}

public Tbl_CanBoDAO getTbl_CanBoDAO() {
	return tbl_CanBoDAO;
}

public void setTbl_CanBoDAO(Tbl_CanBoDAO tbl_CanBoDAO) {
	this.tbl_CanBoDAO = tbl_CanBoDAO;
}

public void setTblCanBos(Collection<Tbl_CanBo> tblCanBos) {
	this.tblCanBos = tblCanBos;
}

public void setTblQLDTTXAHoSoXetTuyens(
		List<Tbl_QLDTTXA_HoSoXetTuyen> tblQLDTTXAHoSoXetTuyens) {
	this.tblQLDTTXAHoSoXetTuyens = tblQLDTTXAHoSoXetTuyens;
}

public void setTblQLDTTXADMGiayTos(
		List<Tbl_QLDTTXA_DM_GiayTo> tblQLDTTXADMGiayTos) {
	this.tblQLDTTXADMGiayTos = tblQLDTTXADMGiayTos;
} 
 } 
 
